﻿using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SST.WebClient.Data
{
    public class Soundtrack : BaseData
    {
        private string _title;
        /// <summary>
        /// Soundtrack title
        /// </summary>
        public string Title
        {
            get { return _title; }
            set
            {
                _title = value;
                NotifyPropertyChanged("Title");
            }
        }

        private string _Artist;
        /// <summary>
        /// Soundtrack artist
        /// </summary>
        public string Artist
        {
            get { return _Artist; }
            set
            {
                _Artist = value;
                NotifyPropertyChanged("Artist");
            }
        }

        private string _ArtistUrl;
        /// <summary>
        /// Artist URL to show all related soundtracks
        /// </summary>
        public string ArtistUrl
        {
            get { return _ArtistUrl; }
            set
            {
                _ArtistUrl = value;
                NotifyPropertyChanged("ArtistUrl");
            }
        }

        private string _Album;
        /// <summary>
        /// Album
        /// </summary>
        public string Album
        {
            get { return _Album; }
            set
            {
                _Album = value;
                NotifyPropertyChanged("Album");
            }
        }

        private string _AlbumUrl;
        /// <summary>
        /// URL to album page
        /// </summary>
        public string AlbumUrl
        {
            get { return _AlbumUrl; }
            set
            {
                _AlbumUrl = value;
                NotifyPropertyChanged("AlbumUrl");
            }
        }

        private int _Duration;
        /// <summary>
        /// Duration in seconds, remaining
        /// </summary>
        public int Duration
        {
            get { return _Duration; }
            set
            {
                _Duration = value;
                NotifyPropertyChanged("Duration");
            }
        }

        private string _Other;
        /// <summary>
        /// Other information
        /// </summary>
        public string Other
        {
            get { return _Other; }
            set
            {
                _Other = value;
                NotifyPropertyChanged("Other");
            }
        }

        private string _AlbumArt;
        /// <summary>
        /// Url to download album art
        /// </summary>
        public string AlbumArt
        {
            get { return _AlbumArt; }
            set
            {
                _AlbumArt = value;
                NotifyPropertyChanged("AlbumArt");
            }
        }
    }
}